<?xml version="1.0"?>
<doc>
    <assembly>
        <name>NCommon</name>
    </assembly>
    <members>
        <member name="T:NCommon.Rules.IBusinessRule`1">
            <summary>
            An interface that defines business rule for an entity instance.
            </summary>
            <typeparam name="TEntity">The type of entity that this business rule evaluates.</typeparam>
        </member>
        <member name="M:NCommon.Rules.IBusinessRule`1.Evaluate(`0)">
            <summary>
            Evaulates the business rule against an entity instance.
            </summary>
            <param name="entity"><typeparamref name="TEntity"/>. The entity instance against which
            the business rule is evaulated.</param>
        </member>
        <member name="T:NCommon.Data.UnitOfWorkScopeTransactionOptions">
            <summary>
            Specifies the transaction options for creating a <see cref="T:NCommon.Data.UnitOfWorkScopeTransaction"/> instance.
            </summary>
        </member>
        <member name="F:NCommon.Data.UnitOfWorkScopeTransactionOptions.UseCompatible">
            <summary>
            Specifies that if a <see cref="T:NCommon.Data.UnitOfWorkScopeTransaction"/> instance with a compatible isolation level
            exists for the current thread / request, use that transaction or create a new one. <see cref="T:NCommon.Data.UnitOfWorkScope"/>
            defaults to this option.
            </summary>
        </member>
        <member name="F:NCommon.Data.UnitOfWorkScopeTransactionOptions.CreateNew">
            <summary>
            Specifies that the a new <see cref="T:NCommon.Data.UnitOfWorkScopeTransaction"/> should be created irrespective of whether
            a compaible transaction already exists.
            </summary>
        </member>
        <member name="T:NCommon.Data.IUnitOfWork">
            <summary>
            A unit of work contract that that commits / flushes changes to the store
            within a single transaction. The commit / flush should be called when the
            implementation is disposed.
            </summary>
        </member>
        <member name="M:NCommon.Data.IUnitOfWork.BeginTransaction">
            <summary>
            Instructs the <see cref="T:NCommon.Data.IUnitOfWork"/> instance to begin a new transaction.
            </summary>
            <returns></returns>
        </member>
        <member name="M:NCommon.Data.IUnitOfWork.BeginTransaction(System.Data.IsolationLevel)">
            <summary>
            Instructs the <see cref="T:NCommon.Data.IUnitOfWork"/> instance to begin a new transaction
            with the specified isolation level.
            </summary>
            <param name="isolationLevel">One of the values of <see cref="T:System.Data.IsolationLevel"/>
            that specifies the isolation level of the transaction.</param>
            <returns></returns>
        </member>
        <member name="M:NCommon.Data.IUnitOfWork.Flush">
            <summary>
            Flushes the changes made in the unit of work to the data store.
            </summary>
        </member>
        <member name="M:NCommon.Data.IUnitOfWork.TransactionalFlush">
            <summary>
            Flushes the changes made in the unit of work to the data store
            within a transaction.
            </summary>
        </member>
        <member name="M:NCommon.Data.IUnitOfWork.TransactionalFlush(System.Data.IsolationLevel)">
            <summary>
            Flushes the changes made in the unit of work to the data store
            within a transaction with the specified isolation level.
            </summary>
            <param name="isolationLevel"></param>
        </member>
        <member name="P:NCommon.Data.IUnitOfWork.IsInTransaction">
            <summary>
            Gets a boolean value indicating whether the current unit of work is running under
            a transaction.
            </summary>
        </member>
        <member name="T:NCommon.Storage.Store">
            <summary>
            Provifes an in-memory store for storing application / thread specific data.
            </summary>
        </member>
        <member name="M:NCommon.Storage.Store.Get``1(System.Object)">
            <summary>
            Gets the data stored with the specified key in <see cref="T:NCommon.Storage.Store"/>.
            </summary>
            <typeparam name="T">The type of data to get.</typeparam>
            <param name="key">object. The key that uniquely identifies the data to retrieve.</param>
            <returns>A <typeparamref name="T"/> instance or null if not found.</returns>
        </member>
        <member name="M:NCommon.Storage.Store.Set``1(System.Object,``0)">
            <summary>
            Adds or updates the data specified with the key in <see cref="T:NCommon.Storage.Store"/>.
            </summary>
            <typeparam name="T">The type of data to add or update.</typeparam>
            <param name="key">object. The key that uniquely identifies the data being stored.</param>
            <param name="value"><typeparamref name="T"/>. The value to add or update.</param>
        </member>
        <member name="M:NCommon.Storage.Store.Contains(System.Object)">
            <summary>
            Checks whether the <see cref="T:NCommon.Storage.AppStorage"/> contains data with the specified key.
            </summary>
            <param name="key">object. The unique key to check for.</param>
            <returns>True if data specified with the key was found, else false.</returns>
        </member>
        <member name="M:NCommon.Storage.Store.Remove(System.Object)">
            <summary>
            Removes the data specified with the key in <see cref="T:NCommon.Storage.Store"/>.
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:NCommon.Storage.Store.Clear">
            <summary>
            Removes all data in <see cref="T:NCommon.Storage.Store"/>.
            </summary>
        </member>
        <member name="M:NCommon.Storage.Store.GetInternalHashtable">
            <summary>
             When overriden by a sub class, provides the internal Hashtable used to store and retrieve
             data.
            </summary>
            <returns></returns>
        </member>
        <member name="P:NCommon.Storage.Store.IsWebApplication">
            <summary>
            Gets whether the current application is a web application.
            </summary>
            <value>bool. True if the current application is a web application.</value>
        </member>
        <member name="P:NCommon.Storage.Store.Local">
            <summary>
            Gets a <see cref="T:NCommon.Storage.Store"/> implementation that can be used to store application
            sepcific data for the current thread / request.
            </summary>
        </member>
        <member name="P:NCommon.Storage.Store.Application">
            <summary>
            Gets a <see cref="T:NCommon.Storage.Store"/> instance that can be used to store application specific
            data for the applicatuion.
            </summary>
        </member>
        <member name="P:NCommon.Storage.Store.Session">
            <summary>
            Gets a <see cref="T:NCommon.Storage.Store"/> instance that can be used to store application sepcific
            data in the current session.
            </summary>
        </member>
        <member name="P:NCommon.Storage.Store.UseLocking">
            <summary>
            When overriden, tells whether the <see cref="T:NCommon.Storage.Store"/> uses locking when retrieving and setting values.
            </summary>
        </member>
        <member name="P:NCommon.Storage.Store.LockInstance">
            <summary>
            Gets the object used by the <see cref="T:NCommon.Storage.Store"/> for locking when retrieving and setting values.
            </summary>
        </member>
        <member name="M:NCommon.Storage.SessionStorage.GetInternalHashtable">
            <summary>
            Overriden. Gets the <see cref="T:System.Collections.Hashtable"/> used to store thread specific data.
            </summary>
            <returns>A <see cref="T:System.Collections.Hashtable"/> that can be used to store Session specific data.</returns>
            <remarks>
            This code block uses locking to create the Hashtable as multiple requests can execute under the same session in
            the case AJAX calls. 
            </remarks>
        </member>
        <member name="P:NCommon.Storage.SessionStorage.UseLocking">
            <summary>
            Overriden. Configures the storage to use locking when getting and setting values.
            </summary>
        </member>
        <member name="P:NCommon.Storage.SessionStorage.LockInstance">
            <summary>
            Gets the object used by the <see cref="T:NCommon.Storage.Store"/> for locking when retrieving and setting values.
            </summary>
        </member>
        <member name="M:NCommon.Storage.LocalStorage.GetInternalHashtable">
            <summary>
            Overriden. Gets the <see cref="T:System.Collections.Hashtable"/> used to store thread specific data.
            </summary>
            <returns>A <see cref="T:System.Collections.Hashtable"/> that can be used to store thread / request specific data.</returns>
            <remarks>
            No locking is used when initializing the Hashtables as only one request to GetInternalHashtable can be made at one time.
            This code block is thread-safe
            </remarks>
        </member>
        <member name="P:NCommon.Storage.LocalStorage.UseLocking">
            <summary>
            Overriden. Configures the storage to not use locking when getting and setting values.
            </summary>
        </member>
        <member name="P:NCommon.Storage.LocalStorage.LockInstance">
            <summary>
            Gets the object used by the <see cref="T:NCommon.Storage.Store"/> for locking when retrieving and setting values.
            </summary>
        </member>
        <member name="M:NCommon.Storage.AppStorage.GetInternalHashtable">
            <summary>
             Overriden. Gets the internal hash table that is used to store and retrieve application
             specific data.
            </summary>
            <returns>A <see cref="T:System.Collections.Hashtable"/> that is used to store application specific data.</returns>
             <remarks>
             This method implementation uses locking as multiple threads (or requests in the case of a web app) can call
             the GetInternalHashtable at the same time.
             </remarks>
        </member>
        <member name="P:NCommon.Storage.AppStorage.UseLocking">
            <summary>
            Overriden. Configures the storage to use locking when getting and setting values.
            </summary>
        </member>
        <member name="P:NCommon.Storage.AppStorage.LockInstance">
            <summary>
            Gets the object used by the <see cref="T:NCommon.Storage.Store"/> for locking when retrieving and setting values.
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "T:NCommon.Specifications.Specification`1" -->
        <member name="T:NCommon.Specifications.ISpecification`1">
            <summary>
            The <see cref="T:NCommon.Specifications.ISpecification`1"/> interface defines a basic contract to express specifications declaratively.
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:NCommon.Specifications.ISpecification`1.IsSatisfiedBy(`0)">
            <summary>
            Evaluates the specification against an entity of <typeparamref name="T"/>.
            </summary>
            <param name="entity">The <typeparamref name="T"/> instance to evaulate the specificaton
            against.</param>
            <returns>Should return true if the specification was satisfied by the entity, else false. </returns>
        </member>
        <member name="P:NCommon.Specifications.ISpecification`1.Predicate">
            <summary>
            Gets the expression that encapsulates the criteria of the specification.
            </summary>
        </member>
        <member name="M:NCommon.Specifications.Specification`1.#ctor(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})">
            <summary>
            Default Constructor.
            Creates a new instance of the <see cref="T:NCommon.Specifications.Specification`1"/> instnace with the
            provided predicate expression.
            </summary>
            <param name="predicate">A predicate that can be used to check entities that
            satisfy the specification.</param>
        </member>
        <member name="M:NCommon.Specifications.Specification`1.IsSatisfiedBy(`0)">
            <summary>
            Evaluates the specification against an entity of <typeparamref name="T"/>.
            </summary>
            <param name="entity">The <typeparamref name="T"/> instance to evaulate the specificaton
            against.</param>
            <returns>Should return true if the specification was satisfied by the entity, else false. </returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:NCommon.Specifications.Specification`1.op_BitwiseAnd(NCommon.Specifications.Specification{`0},NCommon.Specifications.Specification{`0})" -->
        <!-- Badly formed XML comment ignored for member "M:NCommon.Specifications.Specification`1.op_BitwiseOr(NCommon.Specifications.Specification{`0},NCommon.Specifications.Specification{`0})" -->
        <member name="P:NCommon.Specifications.Specification`1.Predicate">
            <summary>
            Gets the expression that encapsulates the criteria of the specification.
            </summary>
        </member>
        <member name="T:NCommon.Data.IRepository`1">
            <summary>
            The <see cref="T:NCommon.Data.IRepository`1"/> interface defines a standard contract that repository
            components should implement.
            </summary>
            <typeparam name="TEntity">The type of entity that the repository encapsulates.</typeparam>
        </member>
        <member name="M:NCommon.Data.IRepository`1.Add(`0)">
            <summary>
            Marks the entity instance to be saved to the store.
            </summary>
            <param name="entity">An instance of <typeparamref name="TEntity"/> that should be saved
            to the database.</param>
            <remarks>Implementors of this method must handle the Insert scenario.</remarks>
        </member>
        <member name="M:NCommon.Data.IRepository`1.Save(`0)">
            <summary>
            Marks the changes of an existing entity to be saved to the store.
            </summary>
            <param name="entity">An instance of <typeparamref name="TEntity"/> that should be
            updated in the database.</param>
        </member>
        <member name="M:NCommon.Data.IRepository`1.Delete(`0)">
            <summary>
            Marks the changes of an existing entity to be saved to the store.
            </summary>
            <param name="entity">An instance of <typeparamref name="TEntity"/> that should be
            updated in the database.</param>
            <remarks>Implementors of this method must handle the Update scneario. </remarks>
        </member>
        <member name="M:NCommon.Data.IRepository`1.Query(NCommon.Specifications.ISpecification{`0})">
            <summary>
            Querries the repository based on the provided specification and returns results that
            are only satisfied by the specification.
            </summary>
            <param name="specification">A <see cref="T:NCommon.Specifications.ISpecification`1"/> instnace used to filter results
            that only satisfy the specification.</param>
            <returns>A <see cref="T:System.Collections.Generic.IEnumerable`1"/> that can be used to enumerate over the results
            of the query.</returns>
        </member>
        <member name="M:NCommon.Data.IRepository`1.Detach(`0)">
            <summary>
            Detaches a instance from the repository.
            </summary>
            <param name="entity">The entity instance, currently being tracked via the repository, to detach.</param>
            <exception cref="T:System.NotSupportedException">Implentors should throw the NotImplementedException if Detaching
            entities is not supported.</exception>
        </member>
        <member name="M:NCommon.Data.IRepository`1.Attach(`0)">
            <summary>
            Attaches a detached entity, previously detached via the <see cref="M:NCommon.Data.IRepository`1.Detach(`0)"/> method.
            </summary>
            <param name="entity">The entity instance to attach back to the repository.</param>
            <exception cref="T:System.NotSupportedException">Implentors should throw the NotImplementedException if Attaching
            entities is not supported.</exception>
        </member>
        <member name="M:NCommon.Data.IRepository`1.Refresh(`0)">
            <summary>
            Refreshes a entity instance.
            </summary>
            <param name="entity">The entity to refresh.</param>
            <exception cref="T:System.NotSupportedException">Implementors should throw the NotImplementedException if Refreshing
            entities is not supported.</exception>
        </member>
        <member name="M:NCommon.Data.IRepository`1.With(System.Linq.Expressions.Expression{System.Func{`0,System.Object}})">
            <summary>
            Instructs the repository to eager load a child entities. 
            </summary>
            <param name="path">The path of the child entities to eager load.</param>
            <remarks>Implementors should throw a <see cref="T:System.NotSupportedException"/> if the underling provider
            does not support eager loading of entities</remarks>
        </member>
        <member name="T:NCommon.Data.UnitOfWorkScopeTransaction">
            <summary>
            The <see cref="T:NCommon.Data.UnitOfWorkScopeTransaction"/> identifies a unique transaciton that can
            be shared by multiple <see cref="T:NCommon.Data.UnitOfWorkScope"/> instances.
            </summary>
        </member>
        <member name="M:NCommon.Data.UnitOfWorkScopeTransaction.#ctor(NCommon.Data.IUnitOfWorkFactory,System.Data.IsolationLevel)">
            <summary>
            Overloaded Constructor.
            Creates a new instance of the <see cref="T:NCommon.Data.UnitOfWorkScopeTransaction"/> that takes in a 
            <see cref="T:NCommon.Data.IUnitOfWorkFactory"/> instance that is responsible for creating instances of <see cref="T:NCommon.Data.IUnitOfWork"/> and
            a <see cref="T:System.Data.IDbConnection"/> that is used by the instance to connect to the data store.
            </summary>
            <param name="unitOfWorkFactory">The <see cref="T:NCommon.Data.IUnitOfWorkFactory"/> implementation that is responsible
            for creating instances of <see cref="T:NCommon.Data.IUnitOfWork"/> instances.</param>
            <param name="isolationLevel">One of the values of <see cref="P:NCommon.Data.UnitOfWorkScopeTransaction.IsolationLevel"/> that specifies the transaction
            isolation level of the <see cref="T:NCommon.Data.UnitOfWorkScopeTransaction"/> instance.</param>
        </member>
        <member name="M:NCommon.Data.UnitOfWorkScopeTransaction.GetTransactionForScope(NCommon.Data.UnitOfWorkScope,System.Data.IsolationLevel)">
            <summary>
            Gets a <see cref="T:NCommon.Data.UnitOfWorkScopeTransaction"/> instance that can be used by a <see cref="T:NCommon.Data.UnitOfWorkScope"/> instance.
            </summary>
            <param name="scope">The <see cref="T:NCommon.Data.UnitOfWorkScope"/> instance that is requesting the transaction.</param>
            <param name="isolationLevel">One of the values of <see cref="P:NCommon.Data.UnitOfWorkScopeTransaction.IsolationLevel"/> that specifies the transaction isolation level.</param>
            <returns>A <see cref="T:NCommon.Data.UnitOfWorkScopeTransaction"/> instance.</returns>
        </member>
        <member name="M:NCommon.Data.UnitOfWorkScopeTransaction.GetTransactionForScope(NCommon.Data.UnitOfWorkScope,System.Data.IsolationLevel,NCommon.Data.UnitOfWorkScopeTransactionOptions)">
            <summary>
            Gets a <see cref="T:NCommon.Data.UnitOfWorkScopeTransaction"/> instance that can be used by a <see cref="T:NCommon.Data.UnitOfWorkScope"/> instance.
            </summary>
            <param name="scope">The <see cref="T:NCommon.Data.UnitOfWorkScope"/> instance that is requesting the transaction.</param>
            <param name="isolationLevel">One of the values of <see cref="P:NCommon.Data.UnitOfWorkScopeTransaction.IsolationLevel"/> that specifies the transaction isolation level.</param>
            <param name="options">One of the values of <see cref="T:NCommon.Data.UnitOfWorkScopeTransactionOptions"/> that specifies options for using existing
            transacitons or creating new ones.</param>
            <returns>A <see cref="T:NCommon.Data.UnitOfWorkScopeTransaction"/> instance.</returns>
        </member>
        <member name="M:NCommon.Data.UnitOfWorkScopeTransaction.AttachScope(NCommon.Data.UnitOfWorkScope)">
            <summary>
            Attaches a <see cref="T:NCommon.Data.UnitOfWorkScope"/> instance to the <see cref="T:NCommon.Data.UnitOfWorkScopeTransaction"/> instance.
            </summary> 
            <param name="scope"></param>
        </member>
        <member name="M:NCommon.Data.UnitOfWorkScopeTransaction.Commit(NCommon.Data.UnitOfWorkScope)">
            <summary>
            Causes a comit operation on the <see cref="T:NCommon.Data.UnitOfWorkScopeTransaction"/> instance.
            </summary>
            <param name="scope">The <see cref="T:NCommon.Data.UnitOfWorkScope"/> instance that is calling the commit.</param>
            <remarks>
            This method can only by called by the scope currently on top of the stack. If Called by another scope then an 
            <see cref="T:System.InvalidOperationException"/> is called. If the calling scope is last in the attached scope hierarchy,
            then a commit is called on the underling unit of work instance.
            </remarks>
        </member>
        <member name="M:NCommon.Data.UnitOfWorkScopeTransaction.Rollback(NCommon.Data.UnitOfWorkScope)">
            <summary>
            Causes a Rollback operation on the <see cref="T:NCommon.Data.UnitOfWorkScopeTransaction"/> instance.
            </summary>
            <param name="scope">The <see cref="T:NCommon.Data.UnitOfWorkScope"/> instance that is calling the commit.</param>
            <remarks>
            This method can only be called by the scope currently on top of the stack. If called by another scope than the
            current <see cref="T:NCommon.Data.UnitOfWorkScope"/> instance, then a <see cref="T:System.InvalidOperationException"/> is thrown. If the
            calling scope is the last in the attached scope hierarchy, then a rollback is called on the underlying UnitOfWork
            instance.
            </remarks>
        </member>
        <member name="M:NCommon.Data.UnitOfWorkScopeTransaction.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
            <filterpriority>2</filterpriority>
        </member>
        <member name="P:NCommon.Data.UnitOfWorkScopeTransaction.TransactionID">
            <summary>
            Gets a <see cref="T:System.Guid"/> that uniqely identifies the transaction.
            </summary>
            <value>A <see cref="T:System.Guid"/> that uniquely identifies the transaction.</value>
        </member>
        <member name="P:NCommon.Data.UnitOfWorkScopeTransaction.IsolationLevel">
            <summary>
            Gets the <see cref="P:NCommon.Data.UnitOfWorkScopeTransaction.IsolationLevel"/> of the <see cref="T:NCommon.Data.UnitOfWorkScopeTransaction"/> instance.
            </summary>
            <value>One of the values of <see cref="P:NCommon.Data.UnitOfWorkScopeTransaction.IsolationLevel"/>.</value>
        </member>
        <member name="P:NCommon.Data.UnitOfWorkScopeTransaction.UnitOfWork">
            <summary>
            Gets the <see cref="T:NCommon.Data.IUnitOfWork"/> instance of the <see cref="T:NCommon.Data.UnitOfWorkScopeTransaction"/> instance.
            </summary>
        </member>
        <member name="P:NCommon.Data.UnitOfWorkScopeTransaction.CurrentTransactions">
            <summary>
            Gets a <see cref="T:System.Collections.Generic.IList`1"/> containing instances of <see cref="T:NCommon.Data.UnitOfWorkScopeTransaction"/> currently
            started for the current request / thread.
            </summary>
        </member>
        <member name="T:NCommon.Data.ITransaction">
            <summary>
             Encapsulates a data store transaction. Used by <see cref="T:NCommon.Data.IUnitOfWork"/> to flush changes
             under a transaction.
            </summary>
        </member>
        <member name="M:NCommon.Data.ITransaction.Commit">
            <summary>
            Commits the changes made to the data store.
            </summary>
            <remarks>Implementors MUST raise the <see cref="E:NCommon.Data.ITransaction.TransactonComitted"/> event.</remarks>
        </member>
        <member name="M:NCommon.Data.ITransaction.Rollback">
            <summary>
            Rollsback any changes made.
            </summary>
            <remarks>Implementors MUST raise the <see cref="E:NCommon.Data.ITransaction.TransactionRolledback"/> event.</remarks>
        </member>
        <member name="E:NCommon.Data.ITransaction.TransactonComitted">
            <summary>
            Event raised when the transaction has been comitted.
            </summary>
        </member>
        <member name="E:NCommon.Data.ITransaction.TransactionRolledback">
            <summary>
            Event raised when the transaction has been rolledback.
            </summary>
        </member>
        <member name="T:NCommon.Rules.BusinessRule`1">
            <summary>
            Implements the <see cref="T:NCommon.Rules.IBusinessRule`1"/> interface and inherits from the
            <see cref="T:NCommon.Rules.SpecificationRuleBase`1"/> to provide a implementation of a business rule that
            uses specifications as rule logic.
            </summary>
            <typeparam name="TEntity"></typeparam>
        </member>
        <member name="T:NCommon.Rules.SpecificationRuleBase`1">
            <summary>
            Base implementation that uses <see cref="T:NCommon.Specifications.ISpecification`1"/> instances that provide the logic to check if the
            rule is satisfied.
            </summary>
            <typeparam name="TEntity"></typeparam>
        </member>
        <member name="M:NCommon.Rules.SpecificationRuleBase`1.#ctor(NCommon.Specifications.ISpecification{`0})">
            <summary>
            Default Constructor. 
            Protected. Must be called by implementors.
            </summary>
            <param name="rule">A <see cref="T:NCommon.Specifications.ISpecification`1"/> instance that specifies the rule.</param>
        </member>
        <member name="M:NCommon.Rules.SpecificationRuleBase`1.IsSatisfied(`0)">
            <summary>
            Checks if the entity instance satisfies this rule.
            </summary>
            <param name="entity">The <typeparamref name="TEntity"/> insance.</param>
            <returns>bool. True if the rule is satsified, else false.</returns>
        </member>
        <member name="M:NCommon.Rules.BusinessRule`1.#ctor(NCommon.Specifications.ISpecification{`0},System.Action{`0})">
            <summary>
            Default Constructor.
            Creates a new instance of the <see cref="T:NCommon.Rules.BusinessRule`1"/> instance.
            </summary>
            <param name="rule">A <see cref="T:NCommon.Specifications.ISpecification`1"/> instance that acts as the underlying
            specification that this business rule is evaulated against.</param>
            <param name="action">A <see cref="T:System.Action`1"/> instance that is invoked when the business rule
            is satisfied.</param>
        </member>
        <member name="M:NCommon.Rules.BusinessRule`1.Evaluate(`0)">
            <summary>
            Evaulates the business rule against an entity instance.
            </summary>
            <param name="entity"><typeparamref name="TEntity"/>. The entity instance against which
            the business rule is evaulated.</param>
        </member>
        <member name="T:NCommon.Expressions.ExpressionVisitor">
            <summary>
            Provides virtual methods that can be used by subclasses to parse an expression tree.
            </summary>
            <remarks>
            This class actually already exists in the System.Core assembly...as an internal class.
            I can only speculate as to why it is internal, but it is obviously much too dangerous
            for anyone outside of Microsoft to be using...
            </remarks>
        </member>
        <member name="M:NCommon.Data.RepositoryBase`1.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="!:TEntity:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
            <filterpriority>1</filterpriority>
        </member>
        <member name="M:NCommon.Data.RepositoryBase`1.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>
            An <see cref="!:TEntity:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="M:NCommon.Data.RepositoryBase`1.Add(`0)">
            <summary>
            Marks the entity instance to be saved to the store.
            </summary>
            <param name="entity">An instance of <typeparamref name="TEntity"/> that should be saved
            to the database.</param>
            <remarks>Implementors of this method must handle the Insert scenario.</remarks>
        </member>
        <member name="M:NCommon.Data.RepositoryBase`1.Save(`0)">
            <summary>
            Marks the changes of an existing entity to be saved to the store.
            </summary>
            <param name="entity">An instance of <typeparamref name="TEntity"/> that should be
            updated in the database.</param>
            <remarks>Implementors of this method must handle the Update scneario. </remarks>
        </member>
        <member name="M:NCommon.Data.RepositoryBase`1.Delete(`0)">
            <summary>
            Marks the entity instance to be deleted from the store.
            </summary>
            <param name="entity">An instance of <typeparamref name="TEntity"/> that should be deleted.</param>
        </member>
        <member name="M:NCommon.Data.RepositoryBase`1.Detach(`0)">
            <summary>
            Detaches a instance from the repository.
            </summary>
            <param name="entity">The entity instance, currently being tracked via the repository, to detach.</param>
            <exception cref="T:System.NotImplementedException">Implentors should throw the NotImplementedException if Detaching
            entities is not supported.</exception>
        </member>
        <member name="M:NCommon.Data.RepositoryBase`1.Attach(`0)">
            <summary>
            Attaches a detached entity, previously detached via the <see cref="M:NCommon.Data.IRepository`1.Detach(`0)"/> method.
            </summary>
            <param name="entity">The entity instance to attach back to the repository.</param>
            <exception cref="T:System.NotImplementedException">Implentors should throw the NotImplementedException if Attaching
            entities is not supported.</exception>
        </member>
        <member name="M:NCommon.Data.RepositoryBase`1.Refresh(`0)">
            <summary>
            Refreshes a entity instance.
            </summary>
            <param name="entity">The entity to refresh.</param>
            <exception cref="T:System.NotImplementedException">Implementors should throw the NotImplementedException if Refreshing
            entities is not supported.</exception>
        </member>
        <member name="M:NCommon.Data.RepositoryBase`1.With(System.Linq.Expressions.Expression{System.Func{`0,System.Object}})">
            <summary>
            Instructs the repository to eager load a child entities. 
            </summary>
            <param name="path">The path of the child entities to eager load.</param>
            <remarks>Implementors should throw a <see cref="T:System.NotSupportedException"/> if the underling provider
            does not support eager loading of entities</remarks>
        </member>
        <member name="M:NCommon.Data.RepositoryBase`1.Query(NCommon.Specifications.ISpecification{`0})">
            <summary>
            Querries the repository based on the provided specification and returns results that
            are only satisfied by the specification.
            </summary>
            <param name="specification">A <see cref="T:NCommon.Specifications.ISpecification`1"/> instnace used to filter results
            that only satisfy the specification.</param>
            <returns>A <see cref="T:System.Collections.Generic.IEnumerable`1"/> that can be used to enumerate over the results
            of the query.</returns>
        </member>
        <member name="P:NCommon.Data.RepositoryBase`1.RepositoryQuery">
            <summary>
            Gets the <see cref="T:System.Linq.IQueryable`1"/> used by the <see cref="T:NCommon.Data.RepositoryBase`1"/> 
            to execute Linq queries.
            </summary>
            <value>A <see cref="T:System.Linq.IQueryable`1"/> instance.</value>
            <remarks>
            Inheritos of this base class should return a valid non-null <see cref="T:System.Linq.IQueryable`1"/> instance.
            </remarks>
        </member>
        <member name="P:NCommon.Data.RepositoryBase`1.Expression">
            <summary>
            Gets the expression tree that is associated with the instance of <see cref="T:System.Linq.IQueryable"/>.
            </summary>
            <returns>
            The <see cref="P:NCommon.Data.RepositoryBase`1.Expression"/> that is associated with this instance of <see cref="T:System.Linq.IQueryable"/>.
            </returns>
        </member>
        <member name="P:NCommon.Data.RepositoryBase`1.ElementType">
            <summary>
            Gets the type of the element(s) that are returned when the expression tree associated with this instance of <see cref="T:System.Linq.IQueryable"/> is executed.
            </summary>
            <returns>
            A <see cref="T:System.Type"/> that represents the type of the element(s) that are returned when the expression tree associated with this object is executed.
            </returns>
        </member>
        <member name="P:NCommon.Data.RepositoryBase`1.Provider">
            <summary>
            Gets the query provider that is associated with this data source.
            </summary>
            <returns>
            The <see cref="T:System.Linq.IQueryProvider"/> that is associated with this data source.
            </returns>
        </member>
        <member name="T:NCommon.Data.IEntityStateProvider`1">
            <summary>
            Simple interface that provides a single method to check if a entity is new.
            </summary>
        </member>
        <member name="T:NCommon.Rules.IValidationRule`1">
            <summary>
            Provides a contract that defines a validation rule that provides validation logic  for an entity.
            </summary>
            <typeparam name="TEntity">The type of entity this validation rule is applicable for.</typeparam>
        </member>
        <member name="M:NCommon.Rules.IValidationRule`1.Validate(`0)">
            <summary>
            Validates whether the entity violates the validation rule or not.
            </summary>
            <param name="entity">The <typeparamref name="TEntity"/> entity instance to validate.</param>
            <returns>Should return true if the entity instance is valid, else false.</returns>
        </member>
        <member name="P:NCommon.Rules.IValidationRule`1.ValidationMessage">
            <summary>
            Gets the message of the validation rule.
            </summary>
        </member>
        <member name="P:NCommon.Rules.IValidationRule`1.ValidationProperty">
            <summary>
            Gets a generic or specific name of a property that was validated.
            </summary>
        </member>
        <member name="T:NCommon.Data.UnitOfWork">
            <summary>
            
            </summary>
        </member>
        <member name="F:NCommon.Data.UnitOfWork.currentUnitOfWorkKey">
            <summary>
            The Key used to store the current unit of work in <see cref="!:Storage.Local"/>.
            </summary>
        </member>
        <member name="M:NCommon.Data.UnitOfWork.Start">
            <summary>
            Starts a new <see cref="T:NCommon.Data.IUnitOfWork"/> session that implements a unit of work operation.
            </summary>
            <returns></returns>
        </member>
        <member name="M:NCommon.Data.UnitOfWork.Finish(System.Boolean)">
            <summary>
            Finishes the current IUnitOfWork instance.
            </summary>
            <param name="flush">bool. True if the Finish operation should flush the changes made 
            to the current <see cref="T:NCommon.Data.IUnitOfWork"/> instance.</param>
        </member>
        <member name="P:NCommon.Data.UnitOfWork.HasStarted">
            <summary>
            Gets a boolean value indicating whether a _unitOfWork has been started for the current
            thread or current session.
            </summary>
            <value>
            True if a _unitOfWork has already started for the current thread or request.
            </value>
        </member>
        <member name="P:NCommon.Data.UnitOfWork.Current">
            <summary>
            Gets the current <see cref="T:NCommon.Data.IUnitOfWork"/> instance.
            </summary>
            <value>
            A <see cref="T:NCommon.Data.IUnitOfWork"/> instance for the current thread or request.
            </value>
        </member>
        <member name="T:NCommon.Rules.IBusinessRulesEvaluator`1">
            <summary>
            Defines an interface implemented by a business rule evaulator for an entity.
            </summary>
            <typeparam name="TEntity">The <see cref="!:TEntity"/> that the business rules are applicable for.</typeparam>
        </member>
        <member name="M:NCommon.Rules.IBusinessRulesEvaluator`1.Evaulate(`0)">
            <summary>
            Evaulates a business rules against an entity.
            </summary>
            <param name="entity">A <typeparamref name="TEntity"/> instance against which the business
            rules are evaulated.</param>
        </member>
        <member name="M:NCommon.Rules.BusinessRulesEvaulatorBase`1.AddRule(System.String,NCommon.Rules.IBusinessRule{`0})">
            <summary>
            Adds a <see cref="T:NCommon.Rules.IBusinessRule`1"/> instance to the rules evaluator.
            </summary>
            <param name="rule">The <see cref="T:NCommon.Rules.IBusinessRule`1"/> instance to add.</param>
            <param name="ruleName">string. The unique name assigned to the business rule.</param>
        </member>
        <member name="M:NCommon.Rules.BusinessRulesEvaulatorBase`1.RemoveRule(System.String)">
            <summary>
            Removes a previously added rule, specified with the <paramref name="ruleName"/>, from the evaluator.
            </summary>
            <param name="ruleName">string. The name of the rule to remove.</param>
        </member>
        <member name="M:NCommon.Rules.BusinessRulesEvaulatorBase`1.Evaulate(`0)">
            <summary>
            Evaulates all business rules registred with the evaluator against a entity instance.
            </summary>
            <param name="entity">The <typeparamref name="TEntity"/> instance against which all 
            registered business rules are evauluated.</param>
        </member>
        <!-- Badly formed XML comment ignored for member "M:NCommon.Rules.BusinessRulesEvaulatorBase`1.EvaulateRule(System.String,`0)" -->
        <member name="T:NCommon.Data.UnitOfWorkScope">
            <summary>
            Helper class that allows starting and using a unit of work like:
            <![CDATA[
                using (UnitOfWorkScope scope = new UnitOfWorkScope()) {
                    //Do some stuff here.
                    scope.Commit();
                }
            
            ]]>
            </summary>
        </member>
        <member name="M:NCommon.Data.UnitOfWorkScope.#ctor">
            <summary>
            Default Constuctor.
            Creates a new <see cref="T:NCommon.Data.UnitOfWorkScope"/> with the <see cref="F:System.Data.IsolationLevel.Serializable"/> 
            transaction isolation level.
            </summary>
        </member>
        <member name="M:NCommon.Data.UnitOfWorkScope.#ctor(System.Data.IsolationLevel)">
            <summary>
            Overloaded Constructor.
            Creates a new instance of <see cref="T:NCommon.Data.UnitOfWorkScope"/> with the specified transaction
            isolation level.
            </summary>
            <param name="isolationLevel">One of the values of <see cref="T:System.Data.IsolationLevel"/> that specifies
            the transation isolation level the scope should use.</param>
        </member>
        <member name="M:NCommon.Data.UnitOfWorkScope.#ctor(System.Data.IsolationLevel,NCommon.Data.UnitOfWorkScopeTransactionOptions)">
            <summary>
            Overloaded Constructor.
            Creates a new instance of <see cref="T:NCommon.Data.UnitOfWorkScope"/> with the specified transaction isolation level, option connection and
            a transaction option that specifies if an existing transaction should be used or to create a new transaction.
            </summary>
            <param name="isolationLevel"></param>
            <param name="transactionOptions"></param>
        </member>
        <member name="M:NCommon.Data.UnitOfWorkScope.Dispose">
            <summary>
            Disposes off the <see cref="T:NCommon.Data.UnitOfWorkScope"/> insance.
            </summary>
        </member>
        <member name="M:NCommon.Data.UnitOfWorkScope.Dispose(System.Boolean)">
            <summary>
            Disposes off the managed and un-managed resources used.
            </summary>
            <param name="disposing"></param>
        </member>
        <member name="M:NCommon.Data.UnitOfWorkScope.RegisterScope(NCommon.Data.UnitOfWorkScope)">
            <summary>
            Registers a scope as the top level scope on the <see cref="P:NCommon.Data.UnitOfWorkScope.RunningScopes"/> stack.
            </summary>
            <param name="scope">The <see cref="T:NCommon.Data.UnitOfWorkScope"/> instance to set as the top level scope on the stack.</param>
        </member>
        <member name="M:NCommon.Data.UnitOfWorkScope.UnRegisterScope(NCommon.Data.UnitOfWorkScope)">
            <summary>
            UnRegisters a <see cref="T:NCommon.Data.UnitOfWorkScope"/> as the top level scope on the stack.
            </summary>
            <param name="scope"></param>
        </member>
        <member name="M:NCommon.Data.UnitOfWorkScope.Commit">
            <summary>
             Commits the current running transaction in the scope.
            </summary>
        </member>
        <member name="P:NCommon.Data.UnitOfWorkScope.HasStarted">
            <summary>
            Checks if the current thread or request has a <see cref="T:NCommon.Data.UnitOfWorkScope"/> instance started.
            </summary>
            <value>True if a <see cref="T:NCommon.Data.UnitOfWorkScope"/> instance has started and is present.</value>
        </member>
        <member name="P:NCommon.Data.UnitOfWorkScope.Current">
            <summary>
            Gets the current <see cref="T:NCommon.Data.UnitOfWorkScope"/> instance for the current thread or request.
            </summary>
            <value>The current and most recent <see cref="T:NCommon.Data.UnitOfWorkScope"/> instance started for the current thread or request.
            If none started, then a null reference is returned.</value>
        </member>
        <member name="P:NCommon.Data.UnitOfWorkScope.RunningScopes">
            <summary>
            Gets a <see cref="T:System.Collections.Generic.Stack`1"/> of <see cref="T:NCommon.Data.UnitOfWorkScope"/> that is used to store and retrieve
            running scope instances.
            </summary>
        </member>
        <member name="P:NCommon.Data.UnitOfWorkScope.UnitOfWork">
            <summary>
            Gets the <see cref="T:NCommon.Data.UnitOfWorkScope"/> instance used by the <see cref="T:NCommon.Data.IUnitOfWork"/> instance.
            </summary>
        </member>
        <member name="T:NCommon.Rules.ValidationRule`1">
            <summary>
            Implements the <see cref="T:NCommon.Rules.IValidationRule`1"/> interface and inherits from the
            <see cref="T:NCommon.Rules.SpecificationRuleBase`1"/> to provide a very basic implementation of an
            entity validation rule that uses specifications as underlying rule logic.
            </summary>
            <typeparam name="TEntity"></typeparam>
        </member>
        <member name="M:NCommon.Rules.ValidationRule`1.#ctor(NCommon.Specifications.ISpecification{`0},System.String,System.String)">
            <summary>
            Default Constructor.
            Creates a new instance of the <see cref="T:NCommon.Rules.ValidationRule`1"/> class.
            </summary>
            <param name="message">string. The validation message associated with the rule.</param>
            <param name="property">string. The generic or specific name of the property that was validated.</param>
            <param name="rule"></param>
        </member>
        <member name="M:NCommon.Rules.ValidationRule`1.Validate(`0)">
            <summary>
            Validates whether the entity violates the validation rule or not.
            </summary>
            <param name="entity">The <typeparamref name="TEntity"/> entity instance to validate.</param>
            <returns>Should return true if the entity instance is valid, else false.</returns>
        </member>
        <member name="P:NCommon.Rules.ValidationRule`1.ValidationMessage">
            <summary>
            Gets the message of the validation rule.
            </summary>
        </member>
        <member name="P:NCommon.Rules.ValidationRule`1.ValidationProperty">
            <summary>
            Gets a generic or specific name of a property that was validated.
            </summary>
        </member>
        <member name="T:NCommon.Rules.IEntityValidator`1">
            <summary>
            Interface implemented by different flavors of validators that provide validation
            logic on domain entities.
            </summary>
            <typeparam name="TEntity"></typeparam>
        </member>
        <member name="M:NCommon.Rules.IEntityValidator`1.Validate(`0)">
            <summary>
            Validates an entity against all validations defined for the entity.
            </summary>
            <param name="entity">The <typeparamref name="TEntity"/> to validate.</param>
            <returns>A <see cref="T:NCommon.Rules.ValidationResult"/> that contains the results of the validation.</returns>
        </member>
        <member name="M:NCommon.Rules.EntityValidatorBase`1.AddValidation(System.String,NCommon.Rules.IValidationRule{`0})">
            <summary>
            Adds a <see cref="T:NCommon.Rules.IValidationRule`1"/> instance to the entity validator.
            </summary>
            <param name="rule">The <see cref="T:NCommon.Rules.IValidationRule`1"/> instance to add.</param>
            <param name="ruleName">string. The unique name assigned to the validation rule.</param>
        </member>
        <member name="M:NCommon.Rules.EntityValidatorBase`1.RemoveValidation(System.String)">
            <summary>
            Removes a previously added rule, specified with the <paramref name="ruleName"/>, from the evaluator.
            </summary>
            <param name="ruleName">string. The name of the rule to remove.</param>
        </member>
        <member name="M:NCommon.Rules.EntityValidatorBase`1.Validate(`0)">
            <summary>
            Validates an entity against all validations defined for the entity.
            </summary>
            <param name="entity">The <typeparamref name="TEntity"/> to validate.</param>
            <returns>A <see cref="T:NCommon.Rules.ValidationResult"/> that contains the results of the validation.</returns>
        </member>
        <member name="T:NCommon.Guard">
            <summary>
            Provides utility methods to guard parameter and local variables.
            </summary>
        </member>
        <member name="M:NCommon.Guard.Against``1(System.Boolean,System.String)">
            <summary>
            Throws an exception of type <typeparamref name="TException"/> with the specified message
            when the assertion statement is true.
            </summary>
            <typeparam name="TException">The type of exception to throw.</typeparam>
            <param name="assertion">The assertion to evaulate. If true then the <typeparamref name="TException"/> exception is thrown.</param>
            <param name="message">string. The exception message to throw.</param>
        </member>
        <member name="M:NCommon.Guard.Against``1(System.Func{System.Boolean},System.String)">
            <summary>
            Throws an exception of type <typeparamref name="TException"/> with the specified message
            when the assertion
            </summary>
            <typeparam name="TException"></typeparam>
            <param name="assertion"></param>
            <param name="message"></param>
        </member>
        <member name="M:NCommon.Guard.InheritsFrom``1(System.Object,System.String)">
            <summary>
            Throws a <see cref="T:System.InvalidOperationException"/> when the specified object
            instance does not inherit from <typeparamref name="TBase"/> type.
            </summary>
            <typeparam name="TBase">The base type to check for.</typeparam>
            <param name="instance">The object to check if it inherits from <typeparamref name="TBase"/> type.</param>
            <param name="message">string. The exception message to throw.</param>
        </member>
        <member name="M:NCommon.Guard.InheritsFrom``1(System.Type,System.String)">
            <summary>
            Throws a <see cref="T:System.InvalidOperationException"/> when the specified type does not
            inherit from the <typeparamref name="TBase"/> type.
            </summary>
            <typeparam name="TBase">The base type to check for.</typeparam>
            <param name="type">The <see cref="T:System.Type"/> to check if it inherits from <typeparamref name="TBase"/> type.</param>
            <param name="message">string. The exception message to throw.</param>
        </member>
        <member name="M:NCommon.Guard.Implements``1(System.Object,System.String)">
            <summary>
            Throws a <see cref="T:System.InvalidOperationException"/> when the specified object
            instance does not implement the <typeparamref name="TInterface"/> interface.
            </summary>
            <typeparam name="TInterface">The interface type the object instance should implement.</typeparam>
            <param name="instance">The object insance to check if it implements the <typeparamref name="TInterface"/> interface</param>
            <param name="message">string. The exception message to throw.</param>
        </member>
        <member name="M:NCommon.Guard.Implements``1(System.Type,System.String)">
            <summary>
            Throws an <see cref="T:System.InvalidOperationException"/> when the specified type does not
            implement the <typeparamref name="TInterface"/> interface.
            </summary>
            <typeparam name="TInterface">The interface type that the <paramref name="type"/> should implement.</typeparam>
            <param name="type">The <see cref="T:System.Type"/> to check if it implements from <typeparamref name="TInterface"/> interface.</param>
            <param name="message">string. The exception message to throw.</param>
        </member>
        <member name="M:NCommon.Guard.TypeOf``1(System.Object,System.String)">
            <summary>
            Throws an <see cref="T:System.InvalidOperationException"/> when the specified object instance is
            not of the specified type.
            </summary>
            <typeparam name="TType">The Type that the <paramref name="instance"/> is expected to be.</typeparam>
            <param name="instance">The object instance whose type is checked.</param>
            <param name="message">The message of the <see cref="T:System.InvalidOperationException"/> exception.</param>
        </member>
        <member name="M:NCommon.Guard.IsEqual``1(System.Object,System.Object,System.String)">
            <summary>
            Throws an exception if an instance of an object is not equal to another object instance.
            </summary>
            <typeparam name="TException">The type of exception to throw when the guard check evaluates false.</typeparam>
            <param name="compare">The comparison object.</param>
            <param name="instance">The object instance to compare with.</param>
            <param name="message">string. The message of the exception.</param>
        </member>
        <member name="T:NCommon.Expressions.MemberAccessPathVisitor">
            <summary>
            Inherits from the <see cref="T:NCommon.Expressions.ExpressionVisitor"/> base class and implements a expression visitor
            that builds up a path string that represents meber access in a Expression.
            </summary>
        </member>
        <member name="M:NCommon.Expressions.MemberAccessPathVisitor.VisitMemberAccess(System.Linq.Expressions.MemberExpression)">
            <summary>
            Overriden. Overrides all MemberAccess to build a path string.
            </summary>
            <param name="m"></param>
            <returns></returns>
        </member>
        <member name="M:NCommon.Expressions.MemberAccessPathVisitor.VisitMethodCall(System.Linq.Expressions.MethodCallExpression)">
            <summary>
            Overriden. Throws a <see cref="T:System.NotSupportedException"/> when a method call is encountered.
            </summary>
            <param name="m"></param>
            <returns></returns>
        </member>
        <member name="P:NCommon.Expressions.MemberAccessPathVisitor.Path">
            <summary>
            Gets the path analyzed by the visitor.
            </summary>
        </member>
        <member name="T:NCommon.Data.IUnitOfWorkFactory">
            <summary>
            Factory interface that the <see cref="T:NCommon.Data.UnitOfWork"/> uses to create instances of
            <see cref="T:NCommon.Data.IUnitOfWork"/>
            </summary>
        </member>
        <member name="M:NCommon.Data.IUnitOfWorkFactory.Create">
            <summary>
            Creates a new instance of <see cref="T:NCommon.Data.IUnitOfWork"/>.
            </summary>
            <returns></returns>
        </member>
        <member name="T:NCommon.Rules.ValidationResult">
            <summary>
            Contains the result of a <see cref="M:NCommon.Rules.IEntityValidator`1.Validate(`0)"/> method call.
            </summary>
        </member>
        <member name="M:NCommon.Rules.ValidationResult.AddError(NCommon.Rules.ValidationError)">
            <summary>
            Adds a validation error into the result.
            </summary>
            <param name="error"></param>
        </member>
        <member name="M:NCommon.Rules.ValidationResult.RemoveError(NCommon.Rules.ValidationError)">
            <summary>
            Removes a validation error from the result.
            </summary>
            <param name="error"></param>
        </member>
        <member name="P:NCommon.Rules.ValidationResult.IsValid">
            <summary>
            Gets wheater the validation operation on an entity was valid or not.
            </summary>
        </member>
        <member name="P:NCommon.Rules.ValidationResult.Errors">
            <summary>
            Gets an <see cref="T:System.Collections.Generic.IEnumerable`1"/> that can be used to enumerate over
            the validation errors as a result of a <see cref="M:NCommon.Rules.IEntityValidator`1.Validate(`0)"/> method
            call.
            </summary>
        </member>
        <member name="T:NCommon.Rules.ValidationError">
            <summary>
            Represents a validation error from a <see cref="M:NCommon.Rules.IEntityValidator`1.Validate(`0)"/> method
            call.
            </summary>
        </member>
        <member name="M:NCommon.Rules.ValidationError.#ctor(System.String,System.String)">
            <summary>
            Default Constructor.
            Creates a new instance of the <see cref="T:NCommon.Rules.ValidationError"/> data structure.
            </summary>
            <param name="message">string. The validation error message.</param>
            <param name="property">string. The property that was validated.</param>
        </member>
        <member name="M:NCommon.Rules.ValidationError.ToString">
            <summary>
            Overriden. Gets a string that represents the validation error.
            </summary>
            <returns></returns>
        </member>
        <member name="M:NCommon.Rules.ValidationError.Equals(System.Object)">
            <summary>
            Overridden. Compares if an object is equal to the <see cref="T:NCommon.Rules.ValidationError"/> instance.
            </summary>
            <param name="obj"></param>
            <returns></returns>
        </member>
        <member name="M:NCommon.Rules.ValidationError.Equals(NCommon.Rules.ValidationError)">
            <summary>
            Overriden. Compares if a <see cref="T:NCommon.Rules.ValidationError"/> instance is equal to this
            <see cref="T:NCommon.Rules.ValidationError"/> instance.
            </summary>
            <param name="obj"></param>
            <returns></returns>
        </member>
        <member name="M:NCommon.Rules.ValidationError.GetHashCode">
            <summary>
            Returns the hash code for this instance.
            </summary>
            <returns>
            A 32-bit signed integer that is the hash code for this instance.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="M:NCommon.Rules.ValidationError.op_Equality(NCommon.Rules.ValidationError,NCommon.Rules.ValidationError)">
            <summary>
            Equality operator.
            </summary>
            <param name="left"></param>
            <param name="right"></param>
            <returns></returns>
        </member>
        <member name="M:NCommon.Rules.ValidationError.op_Inequality(NCommon.Rules.ValidationError,NCommon.Rules.ValidationError)">
            <summary>
            Inequality operator.
            </summary>
            <param name="left"></param>
            <param name="right"></param>
            <returns></returns>
        </member>
        <member name="T:NCommon.Extentions.CollectionExtensions">
            <summary>
            Contains some usefull extensions for working will collections.
            </summary>
        </member>
        <member name="M:NCommon.Extentions.CollectionExtensions.ForEach``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0})">
            <summary>
            ForEach extension that enumerates over all items in an <see cref="T:System.Collections.Generic.IEnumerable`1"/> and executes 
            an action.
            </summary>
            <typeparam name="T">The type that this extension is applicable for.</typeparam>
            <param name="collection">The enumerable instance that this extension operates on.</param>
            <param name="action">The action executed for each iten in the enumerable.</param>
        </member>
        <member name="M:NCommon.Extentions.CollectionExtensions.ForEach``1(System.Collections.Generic.IEnumerator{``0},System.Action{``0})">
            <summary>
            ForEach extension that enumerates over all items in an <see cref="T:System.Collections.Generic.IEnumerator`1"/> and executes 
            an action.
            </summary>
            <typeparam name="T">The type that this extension is applicable for.</typeparam>
            <param name="collection">The enumerator instance that this extension operates on.</param>
            <param name="action">The action executed for each iten in the enumerable.</param>
        </member>
    </members>
</doc>
